RubyMotionKaigi 2013


概要

RubyMotion Kaigi 2013

http://connpass.com/event/2095/


に参加してきた。肋骨折られるのヤダですし。

蛇足、Why RubyMotion: for me

強固な言語で作られた基盤の上に、柔軟性の高い言語を置く、っていうアプローチがいいなーって思っているなど。

Javaの型システムの上にJS走らせる某AltJSとか、

C++の横でプラグイン基盤としてPython走らせられるSublimeTextとか、


ガッチリ基礎があってその上で表現力豊かだったり楽に書ける言語で作るの良いよね~。



RubyMotionKaigiの話 基調講演トピック的な

by Laurentさん


Static analysys

静的解析、LLVMみたいなのをやるつもり、と。

LLVMが出来るところまで行けると、もうRuby,,,だっけ? ってくらい判りやすくなるんだろうな。



2.0対応

refinementsとかRuby2.0の機能もサポートするよ



RubyMotion 2.0系

by 「契約してMacRubyのコミッタになってよ!」でMacRubyにjoinしたwatsonさん。



比較、値渡しなどの親和性

RubyMotionはObj-C runtimeを利用してRubyを実装しているので、Obj-CとRuby間の値の関係がストレートに出来ている



MacRubyとの「差」

JIT(MacRuby)か、preCompile(RubyMotion)

MacRubyで書いたアプリをRubyMotionで書き直すと2倍くらい速くなる



OS X対応

わーいゾーンですよ。ちょっとした用をはたすにはアプリ作ると良いのですよ!


高速化

gemとかのキャッシュ持ったよ!

rake時に全消しされてたのから、キャッシュ化することでその分の時間をryだよ!


weak reference


Q,sugar cubeについて

is 何? 

便利ライブラリ集。ObCで書くと長いコードがRubyのシンタックスシュガーで解決できる。


why not include?

RubyMotuonはthinなものにしてるので、そのへんの便利な物は

組み込まないよ!



開発者の視点から 

by Naoya itoさん


最近の事例

37SignalsがiOSApp作ったよね

→実際使ってる。助かってる。

よくある質問

Obj-Cわからなくても使えますか? YES


iOSの知識が無くても使えますか? NO!

CocoaTouchのAPIを呼ぶのでな!


Ruby脳でiOS App作れると思った?→残念 さやかちゃんでした



tapもKVOも使える

ブリッジ系とは違うのだよ、的な。

Obj-Cの上でRubyが動いているので。


なるほどなー確かに筋がいい。



ARC風

メモリ管理は独自、not ARC、 not Ruby GC

中身はリファレンスカウンタ方式



Tips:ライフタイムが長そうなオブジェクトはインスタンス変数に入れる=強参照になる

オブジェクトのライフ周りにテを突っ込んでるの、かなり大変そうだけど、

Tipsがあることで「もしかしてこれが原因かも→試す→あってた、これだ」みたいな原因チェック我で来やすくなると思うので、

イタダキ。



RubyMotionのここが素晴らしい!

Vi■、Emacs or TextMate とかで使えるんだよ!(抄訳)



RubyMoとgems

sugarCubeべんり


NanoStoreInMotion

iOS向けのkvsのコントロールができる。ActiveRecord風インターフェース!

依存関係もあり


→rubymotion-wrappers.com に行け

Tips

・ビルドシステムまわりはOSSでRubyなのでハックしやすい。のぞくと良いよ


・Dashを使ってドキュメント見ると良いよ


・テストもいろんなツールがあるよ!

クソムシに気を取られてしまってあやふや



iOS使いがRubyMotionを使ってみたぜ!的なお話

by @mfks17 さん


RubyMine5からRubyMotion supportが始まったよ!

breakポイントにも対応



テストは書いた方が良い

三日前の自分は他人



もくもく会がすぐ埋まってしまうので勉強会を作る!

すげー




質疑応答

アクティブユーザーってどのくらいいるの?

→Laurentさん:正確にはしらぬ。

ユーザー数としては、数千人。今年中に1万人は超えると思う、とのこと。


アプリ数は?

→Laurentさん:しらぬ。 報告されないとわからぬし。 週一本は出てるんじゃないだろうか。



LT

RubyMotion in IRC

by @ninjinkunさん


テキストベースに向いてると思ったので、IRCアプリをRubyMotionで作ってみた

このアプリでの、「あの辺から持ってきたら動いた」話は、なんか今後もちょくちょく思い出す気がする。

扱う対象が同じで、実現するための手法も特定の形があるものなら、似通ったのそのまま持ってこれるよなーとか。

最近WebSocketで同じ感覚にあっている。